/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.open.oasis.docs.wsbpel._2._0.process.executable.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

import javax.xml.namespace.QName;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.impl.EFactoryImpl;

import org.eclipse.emf.ecore.plugin.EcorePlugin;

import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
import org.eclipse.emf.ecore.xml.type.XMLTypePackage;

import org.open.oasis.docs.wsbpel._2._0.process.executable.*;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Factory</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class ExecutableFactoryImpl extends EFactoryImpl implements ExecutableFactory {
	/**
	 * Creates the default factory implementation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static ExecutableFactory init() {
		try {
			ExecutableFactory theExecutableFactory = (ExecutableFactory)EPackage.Registry.INSTANCE.getEFactory("http://docs.oasis-open.org/wsbpel/2.0/process/executable"); 
			if (theExecutableFactory != null) {
				return theExecutableFactory;
			}
		}
		catch (Exception exception) {
			EcorePlugin.INSTANCE.log(exception);
		}
		return new ExecutableFactoryImpl();
	}

	/**
	 * Creates an instance of the factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ExecutableFactoryImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public EObject create(EClass eClass) {
		switch (eClass.getClassifierID()) {
			case ExecutablePackage.DOCUMENT_ROOT: return createDocumentRoot();
			case ExecutablePackage.TACTIVITY: return createTActivity();
			case ExecutablePackage.TACTIVITY_CONTAINER: return createTActivityContainer();
			case ExecutablePackage.TASSIGN: return createTAssign();
			case ExecutablePackage.TBOOLEAN_EXPR: return createTBooleanExpr();
			case ExecutablePackage.TBRANCHES: return createTBranches();
			case ExecutablePackage.TCATCH: return createTCatch();
			case ExecutablePackage.TCOMPENSATE: return createTCompensate();
			case ExecutablePackage.TCOMPENSATE_SCOPE: return createTCompensateScope();
			case ExecutablePackage.TCOMPLETION_CONDITION: return createTCompletionCondition();
			case ExecutablePackage.TCONDITION: return createTCondition();
			case ExecutablePackage.TCOPY: return createTCopy();
			case ExecutablePackage.TCORRELATION: return createTCorrelation();
			case ExecutablePackage.TCORRELATIONS: return createTCorrelations();
			case ExecutablePackage.TCORRELATION_SET: return createTCorrelationSet();
			case ExecutablePackage.TCORRELATION_SETS: return createTCorrelationSets();
			case ExecutablePackage.TCORRELATIONS_WITH_PATTERN: return createTCorrelationsWithPattern();
			case ExecutablePackage.TCORRELATION_WITH_PATTERN: return createTCorrelationWithPattern();
			case ExecutablePackage.TDEADLINE_EXPR: return createTDeadlineExpr();
			case ExecutablePackage.TDOCUMENTATION: return createTDocumentation();
			case ExecutablePackage.TDURATION_EXPR: return createTDurationExpr();
			case ExecutablePackage.TELSEIF: return createTElseif();
			case ExecutablePackage.TEMPTY: return createTEmpty();
			case ExecutablePackage.TEVENT_HANDLERS: return createTEventHandlers();
			case ExecutablePackage.TEXIT: return createTExit();
			case ExecutablePackage.TEXPRESSION: return createTExpression();
			case ExecutablePackage.TEXTENSIBLE_ELEMENTS: return createTExtensibleElements();
			case ExecutablePackage.TEXTENSION: return createTExtension();
			case ExecutablePackage.TEXTENSION_ACTIVITY: return createTExtensionActivity();
			case ExecutablePackage.TEXTENSION_ASSIGN_OPERATION: return createTExtensionAssignOperation();
			case ExecutablePackage.TEXTENSIONS: return createTExtensions();
			case ExecutablePackage.TFAULT_HANDLERS: return createTFaultHandlers();
			case ExecutablePackage.TFLOW: return createTFlow();
			case ExecutablePackage.TFOR_EACH: return createTForEach();
			case ExecutablePackage.TFROM: return createTFrom();
			case ExecutablePackage.TFROM_PART: return createTFromPart();
			case ExecutablePackage.TFROM_PARTS: return createTFromParts();
			case ExecutablePackage.TIF: return createTIf();
			case ExecutablePackage.TIMPORT: return createTImport();
			case ExecutablePackage.TINVOKE: return createTInvoke();
			case ExecutablePackage.TLINK: return createTLink();
			case ExecutablePackage.TLINKS: return createTLinks();
			case ExecutablePackage.TLITERAL: return createTLiteral();
			case ExecutablePackage.TMESSAGE_EXCHANGE: return createTMessageExchange();
			case ExecutablePackage.TMESSAGE_EXCHANGES: return createTMessageExchanges();
			case ExecutablePackage.TON_ALARM_EVENT: return createTOnAlarmEvent();
			case ExecutablePackage.TON_ALARM_PICK: return createTOnAlarmPick();
			case ExecutablePackage.TON_EVENT: return createTOnEvent();
			case ExecutablePackage.TON_MESSAGE: return createTOnMessage();
			case ExecutablePackage.TON_MSG_COMMON: return createTOnMsgCommon();
			case ExecutablePackage.TPARTNER_LINK: return createTPartnerLink();
			case ExecutablePackage.TPARTNER_LINKS: return createTPartnerLinks();
			case ExecutablePackage.TPICK: return createTPick();
			case ExecutablePackage.TPROCESS: return createTProcess();
			case ExecutablePackage.TQUERY: return createTQuery();
			case ExecutablePackage.TRECEIVE: return createTReceive();
			case ExecutablePackage.TREPEAT_UNTIL: return createTRepeatUntil();
			case ExecutablePackage.TREPLY: return createTReply();
			case ExecutablePackage.TRETHROW: return createTRethrow();
			case ExecutablePackage.TSCOPE: return createTScope();
			case ExecutablePackage.TSEQUENCE: return createTSequence();
			case ExecutablePackage.TSOURCE: return createTSource();
			case ExecutablePackage.TSOURCES: return createTSources();
			case ExecutablePackage.TTARGET: return createTTarget();
			case ExecutablePackage.TTARGETS: return createTTargets();
			case ExecutablePackage.TTHROW: return createTThrow();
			case ExecutablePackage.TTO: return createTTo();
			case ExecutablePackage.TTO_PART: return createTToPart();
			case ExecutablePackage.TTO_PARTS: return createTToParts();
			case ExecutablePackage.TVALIDATE: return createTValidate();
			case ExecutablePackage.TVARIABLE: return createTVariable();
			case ExecutablePackage.TVARIABLES: return createTVariables();
			case ExecutablePackage.TWAIT: return createTWait();
			case ExecutablePackage.TWHILE: return createTWhile();
			default:
				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object createFromString(EDataType eDataType, String initialValue) {
		switch (eDataType.getClassifierID()) {
			case ExecutablePackage.TBOOLEAN:
				return createTBooleanFromString(eDataType, initialValue);
			case ExecutablePackage.TINITIATE:
				return createTInitiateFromString(eDataType, initialValue);
			case ExecutablePackage.TPATTERN:
				return createTPatternFromString(eDataType, initialValue);
			case ExecutablePackage.TROLES:
				return createTRolesFromString(eDataType, initialValue);
			case ExecutablePackage.BPEL_VARIABLE_NAME:
				return createBPELVariableNameFromString(eDataType, initialValue);
			case ExecutablePackage.BPEL_VARIABLE_NAMES:
				return createBPELVariableNamesFromString(eDataType, initialValue);
			case ExecutablePackage.BPEL_VARIABLE_NAMES_BASE:
				return createBPELVariableNamesBaseFromString(eDataType, initialValue);
			case ExecutablePackage.QNAMES:
				return createQNamesFromString(eDataType, initialValue);
			case ExecutablePackage.QNAMES_BASE:
				return createQNamesBaseFromString(eDataType, initialValue);
			case ExecutablePackage.TBOOLEAN_OBJECT:
				return createTBooleanObjectFromString(eDataType, initialValue);
			case ExecutablePackage.TINITIATE_OBJECT:
				return createTInitiateObjectFromString(eDataType, initialValue);
			case ExecutablePackage.TPATTERN_OBJECT:
				return createTPatternObjectFromString(eDataType, initialValue);
			case ExecutablePackage.TROLES_OBJECT:
				return createTRolesObjectFromString(eDataType, initialValue);
			default:
				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String convertToString(EDataType eDataType, Object instanceValue) {
		switch (eDataType.getClassifierID()) {
			case ExecutablePackage.TBOOLEAN:
				return convertTBooleanToString(eDataType, instanceValue);
			case ExecutablePackage.TINITIATE:
				return convertTInitiateToString(eDataType, instanceValue);
			case ExecutablePackage.TPATTERN:
				return convertTPatternToString(eDataType, instanceValue);
			case ExecutablePackage.TROLES:
				return convertTRolesToString(eDataType, instanceValue);
			case ExecutablePackage.BPEL_VARIABLE_NAME:
				return convertBPELVariableNameToString(eDataType, instanceValue);
			case ExecutablePackage.BPEL_VARIABLE_NAMES:
				return convertBPELVariableNamesToString(eDataType, instanceValue);
			case ExecutablePackage.BPEL_VARIABLE_NAMES_BASE:
				return convertBPELVariableNamesBaseToString(eDataType, instanceValue);
			case ExecutablePackage.QNAMES:
				return convertQNamesToString(eDataType, instanceValue);
			case ExecutablePackage.QNAMES_BASE:
				return convertQNamesBaseToString(eDataType, instanceValue);
			case ExecutablePackage.TBOOLEAN_OBJECT:
				return convertTBooleanObjectToString(eDataType, instanceValue);
			case ExecutablePackage.TINITIATE_OBJECT:
				return convertTInitiateObjectToString(eDataType, instanceValue);
			case ExecutablePackage.TPATTERN_OBJECT:
				return convertTPatternObjectToString(eDataType, instanceValue);
			case ExecutablePackage.TROLES_OBJECT:
				return convertTRolesObjectToString(eDataType, instanceValue);
			default:
				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public DocumentRoot createDocumentRoot() {
		DocumentRootImpl documentRoot = new DocumentRootImpl();
		return documentRoot;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TActivity createTActivity() {
		TActivityImpl tActivity = new TActivityImpl();
		return tActivity;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TActivityContainer createTActivityContainer() {
		TActivityContainerImpl tActivityContainer = new TActivityContainerImpl();
		return tActivityContainer;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TAssign createTAssign() {
		TAssignImpl tAssign = new TAssignImpl();
		return tAssign;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TBooleanExpr createTBooleanExpr() {
		TBooleanExprImpl tBooleanExpr = new TBooleanExprImpl();
		return tBooleanExpr;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TBranches createTBranches() {
		TBranchesImpl tBranches = new TBranchesImpl();
		return tBranches;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCatch createTCatch() {
		TCatchImpl tCatch = new TCatchImpl();
		return tCatch;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCompensate createTCompensate() {
		TCompensateImpl tCompensate = new TCompensateImpl();
		return tCompensate;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCompensateScope createTCompensateScope() {
		TCompensateScopeImpl tCompensateScope = new TCompensateScopeImpl();
		return tCompensateScope;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCompletionCondition createTCompletionCondition() {
		TCompletionConditionImpl tCompletionCondition = new TCompletionConditionImpl();
		return tCompletionCondition;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCondition createTCondition() {
		TConditionImpl tCondition = new TConditionImpl();
		return tCondition;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCopy createTCopy() {
		TCopyImpl tCopy = new TCopyImpl();
		return tCopy;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCorrelation createTCorrelation() {
		TCorrelationImpl tCorrelation = new TCorrelationImpl();
		return tCorrelation;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCorrelations createTCorrelations() {
		TCorrelationsImpl tCorrelations = new TCorrelationsImpl();
		return tCorrelations;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCorrelationSet createTCorrelationSet() {
		TCorrelationSetImpl tCorrelationSet = new TCorrelationSetImpl();
		return tCorrelationSet;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCorrelationSets createTCorrelationSets() {
		TCorrelationSetsImpl tCorrelationSets = new TCorrelationSetsImpl();
		return tCorrelationSets;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCorrelationsWithPattern createTCorrelationsWithPattern() {
		TCorrelationsWithPatternImpl tCorrelationsWithPattern = new TCorrelationsWithPatternImpl();
		return tCorrelationsWithPattern;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TCorrelationWithPattern createTCorrelationWithPattern() {
		TCorrelationWithPatternImpl tCorrelationWithPattern = new TCorrelationWithPatternImpl();
		return tCorrelationWithPattern;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TDeadlineExpr createTDeadlineExpr() {
		TDeadlineExprImpl tDeadlineExpr = new TDeadlineExprImpl();
		return tDeadlineExpr;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TDocumentation createTDocumentation() {
		TDocumentationImpl tDocumentation = new TDocumentationImpl();
		return tDocumentation;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TDurationExpr createTDurationExpr() {
		TDurationExprImpl tDurationExpr = new TDurationExprImpl();
		return tDurationExpr;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TElseif createTElseif() {
		TElseifImpl tElseif = new TElseifImpl();
		return tElseif;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TEmpty createTEmpty() {
		TEmptyImpl tEmpty = new TEmptyImpl();
		return tEmpty;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TEventHandlers createTEventHandlers() {
		TEventHandlersImpl tEventHandlers = new TEventHandlersImpl();
		return tEventHandlers;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TExit createTExit() {
		TExitImpl tExit = new TExitImpl();
		return tExit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TExpression createTExpression() {
		TExpressionImpl tExpression = new TExpressionImpl();
		return tExpression;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TExtensibleElements createTExtensibleElements() {
		TExtensibleElementsImpl tExtensibleElements = new TExtensibleElementsImpl();
		return tExtensibleElements;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TExtension createTExtension() {
		TExtensionImpl tExtension = new TExtensionImpl();
		return tExtension;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TExtensionActivity createTExtensionActivity() {
		TExtensionActivityImpl tExtensionActivity = new TExtensionActivityImpl();
		return tExtensionActivity;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TExtensionAssignOperation createTExtensionAssignOperation() {
		TExtensionAssignOperationImpl tExtensionAssignOperation = new TExtensionAssignOperationImpl();
		return tExtensionAssignOperation;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TExtensions createTExtensions() {
		TExtensionsImpl tExtensions = new TExtensionsImpl();
		return tExtensions;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TFaultHandlers createTFaultHandlers() {
		TFaultHandlersImpl tFaultHandlers = new TFaultHandlersImpl();
		return tFaultHandlers;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TFlow createTFlow() {
		TFlowImpl tFlow = new TFlowImpl();
		return tFlow;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TForEach createTForEach() {
		TForEachImpl tForEach = new TForEachImpl();
		return tForEach;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TFrom createTFrom() {
		TFromImpl tFrom = new TFromImpl();
		return tFrom;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TFromPart createTFromPart() {
		TFromPartImpl tFromPart = new TFromPartImpl();
		return tFromPart;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TFromParts createTFromParts() {
		TFromPartsImpl tFromParts = new TFromPartsImpl();
		return tFromParts;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TIf createTIf() {
		TIfImpl tIf = new TIfImpl();
		return tIf;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TImport createTImport() {
		TImportImpl tImport = new TImportImpl();
		return tImport;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TInvoke createTInvoke() {
		TInvokeImpl tInvoke = new TInvokeImpl();
		return tInvoke;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TLink createTLink() {
		TLinkImpl tLink = new TLinkImpl();
		return tLink;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TLinks createTLinks() {
		TLinksImpl tLinks = new TLinksImpl();
		return tLinks;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TLiteral createTLiteral() {
		TLiteralImpl tLiteral = new TLiteralImpl();
		return tLiteral;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TMessageExchange createTMessageExchange() {
		TMessageExchangeImpl tMessageExchange = new TMessageExchangeImpl();
		return tMessageExchange;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TMessageExchanges createTMessageExchanges() {
		TMessageExchangesImpl tMessageExchanges = new TMessageExchangesImpl();
		return tMessageExchanges;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TOnAlarmEvent createTOnAlarmEvent() {
		TOnAlarmEventImpl tOnAlarmEvent = new TOnAlarmEventImpl();
		return tOnAlarmEvent;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TOnAlarmPick createTOnAlarmPick() {
		TOnAlarmPickImpl tOnAlarmPick = new TOnAlarmPickImpl();
		return tOnAlarmPick;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TOnEvent createTOnEvent() {
		TOnEventImpl tOnEvent = new TOnEventImpl();
		return tOnEvent;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TOnMessage createTOnMessage() {
		TOnMessageImpl tOnMessage = new TOnMessageImpl();
		return tOnMessage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TOnMsgCommon createTOnMsgCommon() {
		TOnMsgCommonImpl tOnMsgCommon = new TOnMsgCommonImpl();
		return tOnMsgCommon;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TPartnerLink createTPartnerLink() {
		TPartnerLinkImpl tPartnerLink = new TPartnerLinkImpl();
		return tPartnerLink;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TPartnerLinks createTPartnerLinks() {
		TPartnerLinksImpl tPartnerLinks = new TPartnerLinksImpl();
		return tPartnerLinks;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TPick createTPick() {
		TPickImpl tPick = new TPickImpl();
		return tPick;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TProcess createTProcess() {
		TProcessImpl tProcess = new TProcessImpl();
		return tProcess;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TQuery createTQuery() {
		TQueryImpl tQuery = new TQueryImpl();
		return tQuery;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TReceive createTReceive() {
		TReceiveImpl tReceive = new TReceiveImpl();
		return tReceive;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TRepeatUntil createTRepeatUntil() {
		TRepeatUntilImpl tRepeatUntil = new TRepeatUntilImpl();
		return tRepeatUntil;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TReply createTReply() {
		TReplyImpl tReply = new TReplyImpl();
		return tReply;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TRethrow createTRethrow() {
		TRethrowImpl tRethrow = new TRethrowImpl();
		return tRethrow;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TScope createTScope() {
		TScopeImpl tScope = new TScopeImpl();
		return tScope;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TSequence createTSequence() {
		TSequenceImpl tSequence = new TSequenceImpl();
		return tSequence;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TSource createTSource() {
		TSourceImpl tSource = new TSourceImpl();
		return tSource;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TSources createTSources() {
		TSourcesImpl tSources = new TSourcesImpl();
		return tSources;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TTarget createTTarget() {
		TTargetImpl tTarget = new TTargetImpl();
		return tTarget;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TTargets createTTargets() {
		TTargetsImpl tTargets = new TTargetsImpl();
		return tTargets;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TThrow createTThrow() {
		TThrowImpl tThrow = new TThrowImpl();
		return tThrow;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TTo createTTo() {
		TToImpl tTo = new TToImpl();
		return tTo;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TToPart createTToPart() {
		TToPartImpl tToPart = new TToPartImpl();
		return tToPart;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TToParts createTToParts() {
		TToPartsImpl tToParts = new TToPartsImpl();
		return tToParts;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TValidate createTValidate() {
		TValidateImpl tValidate = new TValidateImpl();
		return tValidate;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TVariable createTVariable() {
		TVariableImpl tVariable = new TVariableImpl();
		return tVariable;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TVariables createTVariables() {
		TVariablesImpl tVariables = new TVariablesImpl();
		return tVariables;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TWait createTWait() {
		TWaitImpl tWait = new TWaitImpl();
		return tWait;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TWhile createTWhile() {
		TWhileImpl tWhile = new TWhileImpl();
		return tWhile;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TBoolean createTBooleanFromString(EDataType eDataType, String initialValue) {
		TBoolean result = TBoolean.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTBooleanToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TInitiate createTInitiateFromString(EDataType eDataType, String initialValue) {
		TInitiate result = TInitiate.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTInitiateToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TPattern createTPatternFromString(EDataType eDataType, String initialValue) {
		TPattern result = TPattern.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTPatternToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TRoles createTRolesFromString(EDataType eDataType, String initialValue) {
		TRoles result = TRoles.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTRolesToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String createBPELVariableNameFromString(EDataType eDataType, String initialValue) {
		return (String)XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.Literals.NC_NAME, initialValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertBPELVariableNameToString(EDataType eDataType, Object instanceValue) {
		return XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.Literals.NC_NAME, instanceValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public List<String> createBPELVariableNamesFromString(EDataType eDataType, String initialValue) {
		return createBPELVariableNamesBaseFromString(ExecutablePackage.eINSTANCE.getBPELVariableNamesBase(), initialValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertBPELVariableNamesToString(EDataType eDataType, Object instanceValue) {
		return convertBPELVariableNamesBaseToString(ExecutablePackage.eINSTANCE.getBPELVariableNamesBase(), instanceValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public List<String> createBPELVariableNamesBaseFromString(EDataType eDataType, String initialValue) {
		if (initialValue == null) return null;
		List<String> result = new ArrayList<String>();
		for (StringTokenizer stringTokenizer = new StringTokenizer(initialValue); stringTokenizer.hasMoreTokens(); ) {
			String item = stringTokenizer.nextToken();
			result.add(createBPELVariableNameFromString(ExecutablePackage.eINSTANCE.getBPELVariableName(), item));
		}
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertBPELVariableNamesBaseToString(EDataType eDataType, Object instanceValue) {
		if (instanceValue == null) return null;
		List<?> list = (List<?>)instanceValue;
		if (list.isEmpty()) return "";
		StringBuffer result = new StringBuffer();
		for (Object item : list) {
			result.append(convertBPELVariableNameToString(ExecutablePackage.eINSTANCE.getBPELVariableName(), item));
			result.append(' ');
		}
		return result.substring(0, result.length() - 1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public List<QName> createQNamesFromString(EDataType eDataType, String initialValue) {
		return createQNamesBaseFromString(ExecutablePackage.eINSTANCE.getQNamesBase(), initialValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertQNamesToString(EDataType eDataType, Object instanceValue) {
		return convertQNamesBaseToString(ExecutablePackage.eINSTANCE.getQNamesBase(), instanceValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public List<QName> createQNamesBaseFromString(EDataType eDataType, String initialValue) {
		if (initialValue == null) return null;
		List<QName> result = new ArrayList<QName>();
		for (StringTokenizer stringTokenizer = new StringTokenizer(initialValue); stringTokenizer.hasMoreTokens(); ) {
			String item = stringTokenizer.nextToken();
			result.add((QName)XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.Literals.QNAME, item));
		}
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertQNamesBaseToString(EDataType eDataType, Object instanceValue) {
		if (instanceValue == null) return null;
		List<?> list = (List<?>)instanceValue;
		if (list.isEmpty()) return "";
		StringBuffer result = new StringBuffer();
		for (Object item : list) {
			result.append(XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.Literals.QNAME, item));
			result.append(' ');
		}
		return result.substring(0, result.length() - 1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TBoolean createTBooleanObjectFromString(EDataType eDataType, String initialValue) {
		return createTBooleanFromString(ExecutablePackage.eINSTANCE.getTBoolean(), initialValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTBooleanObjectToString(EDataType eDataType, Object instanceValue) {
		return convertTBooleanToString(ExecutablePackage.eINSTANCE.getTBoolean(), instanceValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TInitiate createTInitiateObjectFromString(EDataType eDataType, String initialValue) {
		return createTInitiateFromString(ExecutablePackage.eINSTANCE.getTInitiate(), initialValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTInitiateObjectToString(EDataType eDataType, Object instanceValue) {
		return convertTInitiateToString(ExecutablePackage.eINSTANCE.getTInitiate(), instanceValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TPattern createTPatternObjectFromString(EDataType eDataType, String initialValue) {
		return createTPatternFromString(ExecutablePackage.eINSTANCE.getTPattern(), initialValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTPatternObjectToString(EDataType eDataType, Object instanceValue) {
		return convertTPatternToString(ExecutablePackage.eINSTANCE.getTPattern(), instanceValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TRoles createTRolesObjectFromString(EDataType eDataType, String initialValue) {
		return createTRolesFromString(ExecutablePackage.eINSTANCE.getTRoles(), initialValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTRolesObjectToString(EDataType eDataType, Object instanceValue) {
		return convertTRolesToString(ExecutablePackage.eINSTANCE.getTRoles(), instanceValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public ExecutablePackage getExecutablePackage() {
		return (ExecutablePackage)getEPackage();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @deprecated
	 * @generated
	 */
	@Deprecated
	public static ExecutablePackage getPackage() {
		return ExecutablePackage.eINSTANCE;
	}

} //ExecutableFactoryImpl
